]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Bug 587949 - Handle locale-encoded names from struct pwent
authorColin Walters <walters@verbum.org>
Wed, 8 Jul 2009 00:56:01 +0000 (20:56 -0400)
committerColin Walters <walters@megatron.localdomain>
Fri, 10 Jul 2009 14:19:17 +0000 (10:19 -0400)
Convert to utf8 internally.

src/gdmuser/gdm-user.c

index ffd57f94ac6ea802b0278dbd22edf5810267869d..27bf8ec4e4037349497b077e2175d01de9cfad51 100644 (file)
@@ -412,13 +412,16 @@ _gdm_user_update (GdmUser             *user,
         /* Display Name */
         if (pwent->pw_gecos && pwent->pw_gecos[0] != '\0') {
                 gchar *first_comma;
+                gchar *real_name_utf8;
 
-                first_comma = strchr (pwent->pw_gecos, ',');
+                real_name_utf8 = g_locale_to_utf8 (pwent->pw_gecos, -1, NULL, NULL, NULL);
+
+                first_comma = strchr (real_name_utf8, ',');
                 if (first_comma) {
-                        real_name = g_strndup (pwent->pw_gecos,
-                                                  (first_comma - pwent->pw_gecos));
+                        real_name = g_strndup (real_name_utf8, first_comma - real_name_utf8);
+                        g_free (real_name_utf8);
                 } else {
-                        real_name = g_strdup (pwent->pw_gecos);
+                        real_name = real_name_utf8;
                 }
 
                 if (real_name[0] == '\0') {